import { BaseSocket } from './baseSocket';

/**
 * 特征识别
 */
export class FeatDetect extends BaseSocket {
  /**
   *  曲线识别 - 支持多种类型曲线识别：尖角特征线, 直线，圆弧等
   * @param params
   * @returns
   */
  async curveDetect(params: {
    root: string;
    type: 'Feature' | 'Line' | 'Circle' | 'Guide' | string; // "Feature"-尖角特征线, "Line"-直线, "Circle"-圆弧,"Guide"-引导线
    fidx: number[]; // 三角面的index
    points: number[]; // 与三角面片的交点，三个一组，和fidx对应
    normal?: number[]; // 平面的法向，type==vertical需要
  }) {
    return await this.execCmd({
      c: 'shape.CurveDetect',
      a: params,
    });
  }
}
